package com.zhou.system.management.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.zhou.common.lib.model.CommonPage;
import com.zhou.system.management.entity.SysUser;
import com.zhou.system.management.entity.SysUserChangePwdAo;
import com.zhou.system.management.model.ao.RestPwdAo;
import com.zhou.system.management.model.ao.SysUserAddAo;
import com.zhou.system.management.model.ao.SysUserEnableAo;
import com.zhou.system.management.model.ao.SysUserQueryAo;
import com.zhou.system.management.model.ao.SysUserUpdateAo;
import com.zhou.system.management.model.vo.DeptRoleVo;

import java.util.List;

/**
 * <p>
 * 用户信息表 服务类
 * </p>
 *
 * @author zxf
 * @since 2023-05-13
 */
public interface ISysUserService extends IService<SysUser> {
    SysUser loadUserByUsername(String username);

    void queryUserInfo();

    CommonPage<SysUser> queryUsers(SysUserQueryAo queryAo);

    void restPwd(RestPwdAo ao);

    String addUser(SysUserAddAo ao);

    void updateUser(SysUserUpdateAo ao);

    void delete(Long userId);

    List<DeptRoleVo> queryDeptRoles(Long userId);

    void enableUser(SysUserEnableAo ao);

    void changePwd(SysUserChangePwdAo ao);

    void modifyBasicInfo(SysUserUpdateAo ao);
}
